const tree = [
  {
    title: '0-0',
    key: '0-0',
    children: [
      {
        title: '0-0-0',
        key: '0-0-0',
        children: [
          { title: '0-0-0-0', key: '0-0-0-0' },
          { title: '0-0-0-1', key: '0-0-0-1' },
          { title: '0-0-0-2', key: '0-0-0-2' }
        ]
      },
      {
        title: '0-0-1',
        key: '0-0-1',
        children: [
          { title: '0-0-1-0', key: '0-0-1-0' },
          { title: '0-0-1-1', key: '0-0-1-1' },
          { title: '0-0-1-2', key: '0-0-1-2' }
        ]
      },
      {
        title: '0-0-2',
        key: '0-0-2'
      }
    ]
  }
]
/**
 * 查找最后一层节点
 * @param {*} dataSource 树结构数据
 * @param {*} childKey 子节点属性key值，默认为children
 * @returns 最后一层节点
 */
function findLastLayer(dataSource, childKey = 'children') {
  const stack = []
  const dfs = array => {
    array.forEach(item => {
      if (item[childKey] instanceof Array && item[childKey].length) {
        dfs(item[childKey])
      } else {
        stack.push(item)
      }
    })
  }
  dfs(dataSource)
  return stack
}
const lastLayer = findLastLayer(tree)
console.log(lastLayer)
